Millions of people worldwide use spreadsheets, and the like, for storing and manipulating data. These data manipulation scenarios often involve converting a large quantity of input information from one format to another format, or entail performing computations on the input information to produce a desired output. Typically, these tasks are accomplished manually or with the use of small, often one-off, applications that are either created by the end-user or by a programmer for the end-user.